<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:fn="http://www.w3.org/2005/xpath-functions"
  >
  <xsl:output method="xml" version="1.0" indent="yes" />

  <xsl:variable name="otaSchema" select="'http://www.opentravel.org/OTA/2003/05'"/>

  <xsl:template match="//*[fn:local-name()='schema']">
    <xsl:message select="fn:concat('Processing a ',fn:name(),' element in the ',fn:namespace-uri(),' namespace')"/>
    <xsl:element name="{fn:concat('xs:', fn:local-name())}" namespace="{fn:namespace-uri()}" >
      <xsl:namespace name="" select="$otaSchema" />
      <xsl:if test="not(//*[@targetNamespace != ''])">
        <xsl:message select="fn:concat('Added ', $otaSchema, ' targetNamespace')"/>
        <xsl:attribute name="targetNamespace" select="$otaSchema" />
      </xsl:if>
      <xsl:apply-templates select="@*|node()" />
    </xsl:element>
  </xsl:template>

  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>